package fsmsim.gui;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;

import fsmsim.kernel.AFD;
import fsmsim.kernel.FSM;

public class FrmFSMTest extends JFrame{
	FSMPanel pnl;
	JMenuItem mnuGuardar=new JMenuItem("Guardar");
	JMenuItem mnuCargar=new JMenuItem("Cargar");
	
	public FrmFSMTest(){
		super ("Prueba FSM");
		setLayout(new BorderLayout());
		add( new JScrollPane(pnl= new FSMPanel( new AFD("") )), "Center");
		setSize(800,600);
		JMenuBar mb=new JMenuBar();
		JMenu mnu=new JMenu("Archivo");
		mb.add(mnu );
		mnu.add(mnuGuardar);
		mnu.add(mnuCargar);
		mnuGuardar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				try{
					pnl.getFSM().save("prueba.xfsm");
				}catch(IOException ioe){
					ioe.printStackTrace();
				}
			}
		});
		mnuCargar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				try {
					pnl.setFSM(FSM.load("prueba.xfsm"));
					pnl.repaint();
				} catch (Exception e1) {
					e1.printStackTrace();
				}
			}
		});
		setJMenuBar(mb);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}
	public static void main(String args[]){
		new FrmFSMTest();
		
	}
	
}
